Small computing devices such as mobile phones and personal digital assistants (PDA's) are used with an ever increasing frequency. The computing power of these devices has allowed them to be used to access and browse the internet as well as store contact information, review and edit text documents, and perform other tasks. Additionally, it has become very popular to send and receive text messages with mobile devices. For example, The Short Message Service (SMS) for mobile phones has been a tremendous success in the text messaging roadmap and the recently introduced Enhanced Messaging Service (EMS), an application-level extension of SMS, is expected to offer a smooth transition to the forthcoming Multimedia Messaging Service (MMS). As a result, these devices provide many applications in which text entry is required. Unfortunately, such text entry on mobile devices can be cumbersome because they lack a standard full-sized keyboard.
Currently, there are two common ways to achieve text input using numeric key pads found on most mobile phones, a multiple-tap approach, and a single-tap approach. With the multiple-tap approach, a user presses a numeric key a number of times to enter the desired letter, where most of the numeric keys are mapped to three or four letters of the alphabet. For example, the two key is usually mapped to the letters A, B, and C. If the user presses the two key once, the letter A is entered. If the user presses the two key twice, the letter B is entered, and if the user presses the two key three times, the letter C is entered. Pauses between entry of successive letters of a word are sometimes necessary so that the device knows when to advance the cursor to the next letter-entry position. For example, to enter the word “cab,” the user presses the two key three times to enter the letter C, pauses, presses the two key once to enter the letter A, pauses again, and presses the two key twice to enter the letter B. Other keys that are present on numeric keypads, such as the pound (“#”) and asterisk (“*”) keys, among other keys, are typically mapped to enter symbols, or switch between upper-case and lower-case letters.
While the multiple-tap approach is usable in that users can enter any word using only the numeric keys, it is disadvantageous for quick and intuitive text entry. A word such as “cab” that only requires three key presses on a standard keyboard, one for each letter, requires six key presses on numeric keys using the multiple-tap approach. As compared to using a standard keyboard, using numeric keys with the multiple-tap approach to achieve text entry means that the user presses many keys even for short messages. Furthermore, errors can be frequent. For example, if the user intends to enter the letter B, but pauses too long between the first and second presses of the two key, two letters A will be entered instead. The device in this case interprets the pause as the user having finished with the current letter entry, an A, and proceeds to the next letter-entry position, where it also enters an A.
Another approach to text entry using numeric keys is the single-tap-dictionary approach, such as “T9”, popularized by a company called Tegic. Under the single-tap approach, the user presses the numeric key associated with the desired letter once, even though the numeric key may be mapped to three or four different letters. When the user is enters a number sequence for a word, the device attempts to discern the word that the user intended to enter, based on the number sequence. Each number sequence is mapped to a common word that corresponds to the sequence. For example, the number sequence 43556 can potentially correspond to any five-letter word having a first letter G, H, or I, since the four key is usually mapped to these letters. Similarly, the sequence potentially corresponds to any five-letter word having a second letter D, E, or F, a third and fourth letter selected from the letters J, K, and L, and a fifth letter M, N, or O, since the three, five, and six keys are usually mapped to these respective letters. However, because the most common five-letter word corresponding to the number sequence 43556 is the word “hello,” the single-tap approach may always enter this word when the user presses the four, three, five, five, and six keys in succession to input this number sequence.
The single-tap approach has advantages over the multiple-tap approach, but presents new disadvantages. Advantageously, the single-tap approach ensures, with a high probability, that the user only has to press the same number of keys as the number of letters in a desired word. For example, the multiple-tap approach requires the user to press the two key six times to enter the word “cab.” Conversely, the single-tap approach potentially only requires the user to press the two key three times to enter this word, assuming that the number sequence 222 is mapped to the word “cab.” Therefore, the single-tap approach is more key-efficient than the multiple-tap approach for text entry using numeric keys. It is almost as key-efficient as using a standard keyboard that has a single key for each letter.
The single-tap approach is disadvantageous in that the word mapped to a given number sequence may not be the word the user intended to enter by inputting the sequence. For example, the numeric key sequence 7333 corresponds to both the words “seed” and “reed.” Because only one word is mapped to each numeric key sequence, the word “seed” may be entered when the user keys in the numeric key sequence 7333, whereas the user may have intended to enter the word “reed.” The single-tap approach is primarily useful where there is only one unique word for a given numeric key sequence, or, if there are a number of words for a given sequence, when the user wishes to input the most, common word associated with the sequence. Where the word mapped by the single-tap approach is not the intended word, text entry may revert back to the multiple-tap approach or to an error-correction mode. Ultimate text entry of the intended word may then require more keystrokes than if the user had started with the multiple-tap approach.
Another method of entering text outside of the use of a conventional keyboard is through the use of a speech recognition system. In such systems, the user vocalizes the text entry, which is captured by the computing device through a microphone and digitized. Spectral analysis is applied to samples of the digitized captured speech and feature vectors or code words are generated for each sample. Output probabilities can then be computed against statistical models such as Hidden Markov Models, which are later used in executing a Viterbi decoding process or similar type of processing technique. An acoustic model that represents speech units is searched to determine the likely phonemes that are represented by the feature vectors or code words and, hence, the utterance received from the user of the system. A lexicon of vocalized word candidates is searched to determined the word that most likely represents the feature vector or code words. Additionally, language models can be used to improve the accuracy of the word produced by the speech recognition system. Language models generally operate to improve the accuracy of the speech recognition system by limiting the candidate words to those that are most likely base upon preceding words. Once the words of the captured vocalized text entry are identified, they are entered as text in the computing system.
Speech recognition systems require significant processing power in order to process the vocalized text entry and produce reasonably accurate results. Although mobile devices of the future may be capable of implementing such speech recognition systems, present mobile computing devices lack the necessary processing power to do so in a useful manner. Additionally, mobile computing devices typically lack the memory capacity that is required for large vocabulary continuous speech recognition. Accordingly, mobile computing devices have relied upon the text entry methods discussed above that utilize limited keyboards.
There is a continuing demand for improved methods of entering text into devices including mobile computing devices.